package com.ruicar.afs.cloud.afscase.channel.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruicar.afs.cloud.afscase.channel.condition.AffiliationStatusCondition;
import com.ruicar.afs.cloud.afscase.channel.condition.BaseInfoTypeDTO;
import com.ruicar.afs.cloud.afscase.channel.entity.ChannelBaseInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>Description: </p>
 *
 * @author mingzhi
 * @version 1.0
 * @date create on 2020-6-9 14:14
 */
public interface ChannelBusiInfoMapper extends BaseMapper<ChannelBaseInfo> {
    List<ChannelBaseInfo> getChannelInfo(@Param("query") AffiliationStatusCondition affiliationStatusCondition);

    IPage<List<ChannelBaseInfo>> getChannelInfoPage(Page page, @Param("query") AffiliationStatusCondition affiliationStatusCondition);

    List<ChannelBaseInfo> getBaseInfoByType(@Param("query") BaseInfoTypeDTO dto);

    List<ChannelBaseInfo> getBaseInfoByStatus(@Param("query") BaseInfoTypeDTO dto);

    List<ChannelBaseInfo> getBaseInfoByStatusOtherAll(@Param("query") BaseInfoTypeDTO dto);

    List<ChannelBaseInfo> getBaseInfoByStatusOwnAll(@Param("query") BaseInfoTypeDTO dto);

    List<ChannelBaseInfo> getBaseInfoByStatusOnlyOwnAll(@Param("query") BaseInfoTypeDTO dto);

    List<ChannelBaseInfo> getBaseInfoByStatusOnlyOwnType(@Param("query") BaseInfoTypeDTO dto);

    List<ChannelBaseInfo> getBaseInfoByStatusOnlyOtherAll(@Param("query") BaseInfoTypeDTO dto);

    List<ChannelBaseInfo> getBaseInfoByStatusOnlyOtherType(@Param("query") BaseInfoTypeDTO dto);

    List<ChannelBaseInfo> getBaseInfoByStatusOtherOnlyOwnOnly(@Param("query") BaseInfoTypeDTO dto);

}
